home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 051-060 / amok56 / m2maker / txt / initintuition.mod < prev    next >
Text File  |  1993-11-04  |  22KB  |  443 lines

  1. (*---------------------------------------------------------------------------
  2.   :Program.    m2Maker
  3.   :Author.     Thomas Stolze
  4.   :Address.    Goslarsche Str. 32, 3000 Hannover 21, Germany
  5.   :Phone.      (0)511 / 75 10 77
  6.   :Version.    V2.0
  7.   :Date.       07-Nov-90
  8.   :Copyright.  Shareware
  9.   :Language.   Modula-2
  10.   :Translator. M2Amiga V3.32d
  11.   :Contents.   Programming Utility.
  12.   :Remark.     Supports the M2Amiga System (C) by A+L AG Switzerland
  13. ---------------------------------------------------------------------------*)
  14.  
  15. IMPLEMENTATION MODULE InitIntuition;
  16.  
  17. FROM Arts             IMPORT Assert,wbStarted;
  18. FROM ExecL            IMPORT Forbid,Permit;
  19. FROM FileRequester    IMPORT FileRequester,FileRequestFlags,FileRequestFlagSet,
  20.                              Frame;
  21. FROM GadgetImage      IMPORT GadgetImage;
  22. FROM GraphicsD        IMPORT DrawModeSet,jam2,RastPortPtr;
  23. FROM GraphicsL        IMPORT Move,RectFill,SetAPen,SetBPen,SetDrMd,Text;
  24. FROM IntuitionD       IMPORT ActivationFlags,ActivationFlagSet,
  25.                              boolGadget,BorderPtr,
  26.                              GadgetFlags,GadgetFlagSet,IDCMPFlags,
  27.                              IDCMPFlagSet,Image,IntuiTextPtr,MenuItemFlags,
  28.                              MenuItemFlagSet,NewWindow,
  29.                              ScreenFlags,
  30.                              ScreenFlagSet,strGadget,WindowFlags,
  31.                              WindowFlagSet;
  32. FROM IntuitionL       IMPORT AddGadget,AddGList,ClearMenuStrip,
  33.                              OpenWindow,RefreshGadgets,RefreshGList,
  34.                              SetMenuStrip,CloseWindow;
  35. FROM IntuitionSupport IMPORT SetBorder,SetBorderKoord,SetGadget,SetImage,
  36.                              SetInfo,SetIText,SetMenu,SetMenuItem,SetWindow;
  37. FROM SYSTEM           IMPORT ADR;
  38. FROM String           IMPORT Copy,Length;
  39.  
  40. CONST  gadgetFlags   = GadgetFlagSet{};
  41.        actions       = ActivationFlagSet{gadgImmediate,relVerify};
  42.  
  43. VAR dummy : ARRAY [0..3],[0..150] OF CHAR;
  44.     prg   : PRG;
  45.     image : Image;
  46.  
  47. PROCEDURE Print(text      : ARRAY OF CHAR;
  48.                 rport     : RastPortPtr;
  49.                 fPen,bPen : INTEGER;
  50.                 drawM     : DrawModeSet;
  51.                 xpos,ypos : INTEGER);
  52. BEGIN
  53.  Forbid();
  54.   SetAPen(rport,fPen); SetBPen(rport,bPen); SetDrMd(rport,drawM);
  55.   Move(rport,xpos,ypos); Text(rport,ADR(text),Length(text));
  56.  Permit();
  57. END Print;
  58.  
  59. PROCEDURE PrintStatus(str : ARRAY OF CHAR);
  60. VAR print : ARRAY [0..28] OF CHAR;
  61.     i : INTEGER;
  62. BEGIN
  63.   Copy(print,str);
  64.    FOR i:=Length(print) TO 28 DO print[i]:=" " END; print[28]:=00C;
  65.   Print(print,prg.window^.rPort,1,0,jam2,72,138);
  66. END PrintStatus;
  67.  
  68. PROCEDURE Block(rport : RastPortPtr; col,x1,y1,x2,y2 : INTEGER);
  69. BEGIN
  70.   SetAPen(rport,col); SetDrMd(rport,jam2); RectFill(rport,x1,y1,x2,y2);
  71. END Block;
  72.  
  73. PROCEDURE PrintTexte;
  74. BEGIN
  75.   Block(prg.window^.rPort,2,12,93,349,127);
  76.   Frame(prg.window^.rPort,1,69,130,350,140,1);
  77.   Frame(prg.window^.rPort,3,11,92,350,128,2);
  78.   Block(prg.window^.rPort,2,12,28,349,62);
  79.   Frame(prg.window^.rPort,3,11,27,350,63,2);
  80.  
  81.   Print("Filename:",prg.window^.rPort,1,2,jam2,23,41);
  82.   Print("Linkname:",prg.window^.rPort,1,2,jam2,23,56);
  83.   Print("Status:",prg.window^.rPort,3,0,jam2,11,138);
  84.   Print("Backup-Path:",prg.window^.rPort,1,2,jam2,21,105);
  85.   Print("Project:",prg.window^.rPort,1,2,jam2,21,121);
  86. END PrintTexte;
  87.  
  88. PROCEDURE RefreshDrawings;
  89. BEGIN
  90.   PrintTexte;
  91.     RefreshGadgets(prg.window^.firstGadget,prg.window,NIL);
  92.   PrintStatus("Window redrawn !");
  93. END RefreshDrawings;
  94.  
  95. PROCEDURE Initm2Maker;
  96. VAR nw    : NewWindow;
  97.     i,pos : INTEGER;
  98.  
  99. PROCEDURE InitITexte;
  100. VAR ptr : IntuiTextPtr;
  101. BEGIN
  102.   ptr:=SetIText(prg.TextArray[ 0],ADR("Editor")   ,1,0,1,2,jam2);
  103.   ptr:=SetIText(prg.TextArray[ 1],ADR("Compiler") ,1,0,1,2,jam2);
  104.   ptr:=SetIText(prg.TextArray[ 2],ADR("Linker")   ,1,0,1,2,jam2);
  105.   ptr:=SetIText(prg.TextArray[ 3],ADR("Run")      ,1,0,5,2,jam2);
  106.   ptr:=SetIText(prg.TextArray[ 4],ADR(" New")     ,1,2,1,2,jam2);
  107.   ptr:=SetIText(prg.TextArray[ 5],ADR("Debug End"),1,0,1,2,jam2);
  108.   ptr:=SetIText(prg.TextArray[ 6],ADR("Options")  ,1,0,1,2,jam2);
  109.   ptr:=SetIText(prg.TextArray[ 7],ADR("Load Opt") ,1,0,1,2,jam2);
  110.   ptr:=SetIText(prg.TextArray[ 8],ADR("Save Opt") ,1,0,1,2,jam2);
  111.   ptr:=SetIText(prg.TextArray[ 9],ADR("Delete")   ,1,0,1,2,jam2);
  112.   ptr:=SetIText(prg.TextArray[10],ADR("Save")     ,1,0,5,2,jam2);
  113.   ptr:=SetIText(prg.TextArray[11],ADR("Link")     ,1,2,5,2,jam2);
  114.   ptr:=SetIText(prg.TextArray[12],ADR("Print")    ,1,0,1,2,jam2);
  115.   ptr:=SetIText(prg.TextArray[13],ADR("Project")  ,1,0,1,2,jam2);
  116.   ptr:=SetIText(prg.TextArray[14],ADR("Module")   ,1,0,5,2,jam2);
  117.   ptr:=SetIText(prg.TextArray[15],ADR("Rename")   ,1,0,1,2,jam2);
  118.   ptr:=SetIText(prg.TextArray[16],ADR(" M2Make")  ,1,0,5,2,jam2);
  119.   ptr:=SetIText(prg.TextArray[17],ADR("Make")     ,1,0,1,2,jam2);
  120. END InitITexte;
  121.  
  122. PROCEDURE InitInfo;
  123. BEGIN
  124.   SetInfo(prg.InfoArray[0],ADR(prg.BufferString[0]),ADR(dummy[0]),0,149,0);
  125.   SetInfo(prg.InfoArray[1],ADR(prg.BufferString[1]),ADR(dummy[1]),0,149,0);
  126.   SetInfo(prg.InfoArray[2],ADR(prg.BufferString[2]),ADR(dummy[2]),0,149,0);
  127.   SetInfo(prg.InfoArray[3],ADR(prg.BufferString[3]),ADR(dummy[3]),0,149,0);
  128.   SetImage(image,0,0,24,10,2,ADR(GadgetImage),3,3);
  129. END InitInfo;
  130.  
  131. PROCEDURE InitGadgets;
  132. BEGIN
  133.   SetGadget(prg.GadgetArray[0],106,35,176,8,gadgetFlags,
  134.              actions,strGadget,ADR(prg.BorderArray[6]),
  135.              NIL,ADR(prg.InfoArray[0]),10);
  136.   SetGadget(prg.GadgetArray[1],106,50,176,8,gadgetFlags,
  137.              actions,strGadget,ADR(prg.BorderArray[8]),
  138.              NIL,ADR(prg.InfoArray[1]),11);
  139.   SetGadget(prg.GadgetArray[2],126,99,208,8,gadgetFlags,
  140.              actions,strGadget,ADR(prg.BorderArray[7]),
  141.              NIL,ADR(prg.InfoArray[2]),14);
  142.   SetGadget(prg.GadgetArray[3],126,114,208,8,gadgetFlags,
  143.              actions,strGadget,ADR(prg.BorderArray[7]),
  144.              NIL,ADR(prg.InfoArray[3]),16);
  145.  
  146.   SetGadget(prg.GadgetArray[4],13,14,49,10,gadgetFlags,
  147.              actions+ActivationFlagSet{toggleSelect},boolGadget,
  148.              ADR(prg.BorderArray[2]),ADR(prg.TextArray[0]),NIL,0);
  149.   SetGadget(prg.GadgetArray[5],71,14,66,10,gadgetFlags,
  150.              actions+ActivationFlagSet{toggleSelect},boolGadget,
  151.              ADR(prg.BorderArray[4]),ADR(prg.TextArray[1]),NIL,1);
  152.   SetGadget(prg.GadgetArray[6],146,14,49,10,gadgetFlags,
  153.              actions+ActivationFlagSet{toggleSelect},boolGadget,
  154.              ADR(prg.BorderArray[2]),ADR(prg.TextArray[2]),NIL,2);
  155.   SetGadget(prg.GadgetArray[7],204,14,34,10,gadgetFlags,
  156.              actions+ActivationFlagSet{toggleSelect},boolGadget,
  157.              ADR(prg.BorderArray[0]),ADR(prg.TextArray[3]),NIL,3);
  158.   SetGadget(prg.GadgetArray[8],247,14,34,10,gadgetFlags,
  159.              actions+ActivationFlagSet{toggleSelect},boolGadget,
  160.              ADR(prg.BorderArray[0]),ADR(prg.TextArray[17]),NIL,4);
  161.   SetGadget(prg.GadgetArray[9],160,80,74,10,gadgetFlags,
  162.              actions+ActivationFlagSet{},boolGadget,
  163.              ADR(prg.BorderArray[5]),ADR(prg.TextArray[5]),NIL,5);
  164.   SetGadget(prg.GadgetArray[10],90,67,58,10,gadgetFlags,
  165.              actions,boolGadget,
  166.              ADR(prg.BorderArray[3]),ADR(prg.TextArray[6]),NIL,6);
  167.   SetGadget(prg.GadgetArray[11],12,67,66,10,gadgetFlags,
  168.              actions,boolGadget,
  169.              ADR(prg.BorderArray[4]),ADR(prg.TextArray[7]),NIL,7);
  170.   SetGadget(prg.GadgetArray[12],12,80,66,10,gadgetFlags,
  171.              actions,boolGadget,
  172.              ADR(prg.BorderArray[4]),ADR(prg.TextArray[8]),NIL,8);
  173.   SetGadget(prg.GadgetArray[13],246,80,42,10,gadgetFlags,
  174.              actions+ActivationFlagSet{toggleSelect},boolGadget,
  175.              ADR(prg.BorderArray[1]),ADR(prg.TextArray[10]),NIL,9);
  176.   SetGadget(prg.GadgetArray[14],300,49,42,10,gadgetFlags,
  177.              actions+ActivationFlagSet{toggleSelect},boolGadget,
  178.              ADR(prg.BorderArray[1]),ADR(prg.TextArray[11]),NIL,12);
  179.   SetGadget(prg.GadgetArray[15],246,67,42,10,gadgetFlags,
  180.              actions+ActivationFlagSet{toggleSelect},boolGadget,
  181.              ADR(prg.BorderArray[1]),ADR(prg.TextArray[12]),NIL,13);
  182.   SetGadget(prg.GadgetArray[16],290,14,58,10,gadgetFlags,
  183.              actions+ActivationFlagSet{toggleSelect},boolGadget,
  184.              ADR(prg.BorderArray[3]),ADR(prg.TextArray[13]),NIL,15);
  185.   SetGadget(prg.GadgetArray[17],300,67,49,10,gadgetFlags,
  186.              actions,boolGadget,
  187.              ADR(prg.BorderArray[2]),ADR(prg.TextArray[9]),NIL,17);
  188.   SetGadget(prg.GadgetArray[18],300,34,42,10,gadgetFlags,
  189.              actions+ActivationFlagSet{toggleSelect},boolGadget,
  190.              ADR(prg.BorderArray[1]),ADR(prg.TextArray[4]),NIL,18);
  191.   SetGadget(prg.GadgetArray[19],90,80,58,10,gadgetFlags,
  192.              actions+ActivationFlagSet{toggleSelect},boolGadget,
  193.              ADR(prg.BorderArray[3]),ADR(prg.TextArray[14]),NIL,19);
  194.   SetGadget(prg.GadgetArray[20],160,67,74,10,gadgetFlags,
  195.              actions+ActivationFlagSet{},boolGadget,
  196.              ADR(prg.BorderArray[5]),ADR(prg.TextArray[16]),NIL,20);
  197.   SetGadget(prg.GadgetArray[21],300,80,49,10,gadgetFlags,
  198.              actions,boolGadget,
  199.              ADR(prg.BorderArray[2]),ADR(prg.TextArray[15]),NIL,21);
  200.  
  201.   SetGadget(prg.GadgetArray[22],-76,0,24,10,gadgetFlags+
  202.              GadgetFlagSet{gRelRight,gadgImage},actions+
  203.              ActivationFlagSet{topBorder},boolGadget,ADR(image),NIL,NIL,22);
  204. END InitGadgets;
  205.  
  206. PROCEDURE InitBorderKoor;
  207. BEGIN
  208.   SetBorderKoord(prg.BorderKoord[0],prg.GadgetArray[7]);    (*  4 *)
  209.   SetBorderKoord(prg.BorderKoord[1],prg.GadgetArray[13]);   (*  5 *)
  210.   SetBorderKoord(prg.BorderKoord[2],prg.GadgetArray[4]);    (*  6 *)
  211.   SetBorderKoord(prg.BorderKoord[3],prg.GadgetArray[10]);   (*  7 *)
  212.   SetBorderKoord(prg.BorderKoord[4],prg.GadgetArray[5]);    (*  8 *)
  213.   SetBorderKoord(prg.BorderKoord[5],prg.GadgetArray[20]);   (*  9 *)
  214.   SetBorderKoord(prg.BorderKoord[6],prg.GadgetArray[0]);    (* 20 *)
  215.   SetBorderKoord(prg.BorderKoord[7],prg.GadgetArray[2]);    (* 30 *)
  216. END InitBorderKoor;
  217.  
  218. PROCEDURE InitBorder;
  219. VAR ptr : BorderPtr;
  220. BEGIN
  221.   ptr:=SetBorder(prg.BorderArray[0],-1,-1,1,0,5,jam2,ADR(prg.BorderKoord[0]));
  222.   ptr:=SetBorder(prg.BorderArray[1],-1,-1,1,0,5,jam2,ADR(prg.BorderKoord[1]));
  223.   ptr:=SetBorder(prg.BorderArray[2],-1,-1,1,0,5,jam2,ADR(prg.BorderKoord[2]));
  224.   ptr:=SetBorder(prg.BorderArray[3],-1,-1,1,0,5,jam2,ADR(prg.BorderKoord[3]));
  225.   ptr:=SetBorder(prg.BorderArray[4],-1,-1,1,0,5,jam2,ADR(prg.BorderKoord[4]));
  226.   ptr:=SetBorder(prg.BorderArray[5],-1,-1,1,0,5,jam2,ADR(prg.BorderKoord[5]));
  227.   ptr:=SetBorder(prg.BorderArray[6],-1,-1,1,2,5,jam2,ADR(prg.BorderKoord[6]));
  228.   ptr:=SetBorder(prg.BorderArray[7],-1,-1,1,2,5,jam2,ADR(prg.BorderKoord[7]));
  229.   ptr:=SetBorder(prg.BorderArray[8],-1,-1,1,3,5,jam2,ADR(prg.BorderKoord[6]));
  230. END InitBorder;
  231.  
  232. PROCEDURE InitMenus;
  233. VAR ptr : IntuiTextPtr;
  234. BEGIN
  235.   ptr:=SetIText(prg.MenuText[ 0],ADR("Info")          ,0,1,17,2,jam2);
  236.   ptr:=SetIText(prg.MenuText[ 1],ADR("FastLister")    ,0,1,17,2,jam2);
  237.   ptr:=SetIText(prg.MenuText[ 2],ADR("NewShell")      ,0,1,17,2,jam2);
  238.   ptr:=SetIText(prg.MenuText[ 3],ADR("Quit")          ,0,1,17,2,jam2);
  239.   ptr:=SetIText(prg.MenuText[ 4],ADR("Editor     F1") ,0,1,17,2,jam2);
  240.   ptr:=SetIText(prg.MenuText[ 5],ADR("Compiler   F2") ,0,1,17,2,jam2);
  241.   ptr:=SetIText(prg.MenuText[ 6],ADR("Linker     F3") ,0,1,17,2,jam2);
  242.   ptr:=SetIText(prg.MenuText[ 7],ADR("Run        F4") ,0,1,17,2,jam2);
  243.   ptr:=SetIText(prg.MenuText[ 8],ADR("Make       F5") ,0,1,17,2,jam2);
  244.   ptr:=SetIText(prg.MenuText[ 9],ADR("m2Maker")       ,0,1,17,2,jam2);
  245.   ptr:=SetIText(prg.MenuText[10],ADR("edit")          ,0,1,17,2,jam2);
  246.   ptr:=SetIText(prg.MenuText[11],ADR("all")           ,0,1,17,2,jam2);
  247.   ptr:=SetIText(prg.MenuText[12],ADR("from actual")   ,0,1,17,2,jam2);
  248.   ptr:=SetIText(prg.MenuText[13],ADR("User Track II") ,0,1,17,2,jam2);
  249.   ptr:=SetIText(prg.MenuText[14],ADR("User Track I")  ,0,1,17,2,jam2);
  250.   ptr:=SetIText(prg.MenuText[15],ADR("AutoSave")      ,0,1,17,2,jam2);
  251.   ptr:=SetIText(prg.MenuText[16],ADR("M2Ed Task")     ,0,1,17,2,jam2);
  252.   ptr:=SetIText(prg.MenuText[17],ADR("M2C  active")   ,0,1,17,2,jam2);
  253.   ptr:=SetIText(prg.MenuText[18],ADR("Save   Project"),0,1,17,2,jam2);
  254.   ptr:=SetIText(prg.MenuText[19],ADR("all")           ,0,1,17,2,jam2);
  255.   ptr:=SetIText(prg.MenuText[20],ADR("txt")           ,0,1,17,2,jam2);
  256.   ptr:=SetIText(prg.MenuText[21],ADR("Load   Project"),0,1,17,2,jam2);
  257.   ptr:=SetIText(prg.MenuText[22],ADR("Delete Project"),0,1,17,2,jam2);
  258.   ptr:=SetIText(prg.MenuText[23],ADR("Debug End  F7") ,0,1,17,2,jam2);
  259.   ptr:=SetIText(prg.MenuText[24],ADR("M2Make     F6") ,0,1,17,2,jam2);
  260.   ptr:=SetIText(prg.MenuText[25],ADR("M2C  resident") ,0,1,17,2,jam2);
  261.   ptr:=SetIText(prg.MenuText[26],ADR("M2L  resident") ,0,1,17,2,jam2);
  262.   ptr:=SetIText(prg.MenuText[27],ADR("M2Ed resident") ,0,1,17,2,jam2);
  263.   ptr:=SetIText(prg.MenuText[28],ADR("M2Pool")        ,0,1,17,2,jam2);
  264.   ptr:=SetIText(prg.MenuText[29],ADR("M2Debug")       ,0,1,17,2,jam2);
  265.   ptr:=SetIText(prg.MenuText[30],ADR("M2Ohm")         ,0,1,17,2,jam2);
  266.   ptr:=SetIText(prg.MenuText[31],ADR("Touch")         ,0,1,17,2,jam2);
  267.  
  268.            prg.menuStripPtr:=SetMenu(prg.menuStrip[0], 28,0,100,0,
  269.                ADR(" System"));
  270.   prg.menuStrip[0].nextMenu:=SetMenu(prg.menuStrip[1],136,0,100,0,
  271.                ADR(" m2Maker"));
  272.   prg.menuStrip[1].nextMenu:=SetMenu(prg.menuStrip[2],240,0,100,0,
  273.                ADR(" Options"));
  274.   prg.menuStrip[2].nextMenu:=SetMenu(prg.menuStrip[3],340,0,100,0,
  275.                ADR(" Project"));
  276.  
  277.   prg.menuStripPtr^.firstItem:=SetMenuItem(prg.MenuArray[0],3,0,151,11,
  278.                MenuItemFlagSet{commSeq,highComp,itemText,itemEnabled},
  279.                ADR(prg.MenuText[0]),NIL,"I");
  280.   prg.MenuArray[0].nextItem:=SetMenuItem(prg.MenuArray[1],3,12,151,11,
  281.                MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq},
  282.                ADR(prg.MenuText[1]),NIL,"F");
  283.   prg.MenuArray[1].nextItem:=SetMenuItem(prg.MenuArray[2],3,24,151,11,
  284.                MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq},
  285.                ADR(prg.MenuText[2]),NIL,"C");
  286.   prg.MenuArray[2].nextItem:=SetMenuItem(prg.MenuArray[3],3,36,151,11,
  287.                MenuItemFlagSet{commSeq,highComp,itemText,itemEnabled},
  288.                ADR(prg.MenuText[3]),NIL,"Q");
  289.  
  290.    prg.menuStrip[1].firstItem:=SetMenuItem(prg.MenuArray[4],3,0,121,11,
  291.                 MenuItemFlagSet{highComp,itemEnabled,itemText},
  292.                 ADR(prg.MenuText[4]),NIL,00C);
  293.   prg.MenuArray[4].nextItem:=SetMenuItem(prg.MenuArray[5],3,12,121,11,
  294.                MenuItemFlagSet{highComp,itemText,itemEnabled},
  295.                ADR(prg.MenuText[5]),NIL,00C);
  296.   prg.MenuArray[5].nextItem:=SetMenuItem(prg.MenuArray[6],3,24,121,11,
  297.                MenuItemFlagSet{highComp,itemText,itemEnabled},
  298.                ADR(prg.MenuText[6]),NIL,00C);
  299.   prg.MenuArray[6].nextItem:=SetMenuItem(prg.MenuArray[7],3,36,121,11,
  300.                MenuItemFlagSet{highComp,itemText,itemEnabled},
  301.                ADR(prg.MenuText[7]),NIL,00C);
  302.   prg.MenuArray[7].nextItem:=SetMenuItem(prg.MenuArray[8],3,48,121,11,
  303.                MenuItemFlagSet{highComp,itemText,itemEnabled},
  304.                ADR(prg.MenuText[8]),NIL,00C);
  305.   prg.MenuArray[8].nextItem:=SetMenuItem(prg.MenuArray[24],3,60,121,11,
  306.                MenuItemFlagSet{highComp,itemText,itemEnabled},
  307.                ADR(prg.MenuText[24]),NIL,00C);
  308.   prg.MenuArray[24].nextItem:=SetMenuItem(prg.MenuArray[13],3,72,121,11,
  309.                MenuItemFlagSet{highComp,itemText,itemEnabled},
  310.                ADR(prg.MenuText[23]),NIL,00C);
  311.   prg.MenuArray[13].nextItem:=SetMenuItem(prg.MenuArray[14],3,84,121,11,
  312.                MenuItemFlagSet{highComp,itemText,itemEnabled},
  313.                ADR(prg.MenuText[14]),NIL,00C);
  314.   prg.MenuArray[14].nextItem:=SetMenuItem(prg.MenuArray[23],3,96,121,11,
  315.                MenuItemFlagSet{highComp,itemText,itemEnabled},
  316.                ADR(prg.MenuText[13]),NIL,00C);
  317.   prg.MenuArray[23].nextItem:=SetMenuItem(prg.MenuArray[31],3,108,121,11,
  318.                MenuItemFlagSet{highComp,itemText},
  319.                ADR(prg.MenuText[31]),NIL,00C);
  320.   prg.MenuArray[31].nextItem:=SetMenuItem(prg.MenuArray[9],3,120,121,11,
  321.                MenuItemFlagSet{highComp,itemText},
  322.                ADR(prg.MenuText[9]),NIL,00C);
  323.      prg.MenuArray[9].subItem:=SetMenuItem(prg.MenuArray[10],115,3,121,11,
  324.                   MenuItemFlagSet{highComp,itemText,itemEnabled},
  325.                   ADR(prg.MenuText[10]),NIL,00C);
  326.      prg.MenuArray[10].nextItem:=SetMenuItem(prg.MenuArray[11],115,14,121,11,
  327.                   MenuItemFlagSet{highComp,itemText,itemEnabled},
  328.                   ADR(prg.MenuText[11]),NIL,00C);
  329.      prg.MenuArray[11].nextItem:=SetMenuItem(prg.MenuArray[12],115,25,121,11,
  330.                   MenuItemFlagSet{highComp,itemText,itemEnabled},
  331.                   ADR(prg.MenuText[12]),NIL,00C);
  332.  
  333.   prg.menuStrip[2].firstItem:=SetMenuItem(prg.MenuArray[15],3,0,151,11,
  334.                MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq,
  335.                menuToggle,checkIt},
  336.                ADR(prg.MenuText[15]),NIL,"S");
  337.   prg.MenuArray[15].nextItem:=SetMenuItem(prg.MenuArray[16],3,12,151,11,
  338.                MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq,
  339.                menuToggle,checkIt},
  340.                ADR(prg.MenuText[16]),NIL,"E");
  341.   prg.MenuArray[16].nextItem:=SetMenuItem(prg.MenuArray[17],3,24,151,11,
  342.                MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq,
  343.                menuToggle,checkIt},
  344.                ADR(prg.MenuText[17]),NIL,"N");
  345.   prg.MenuArray[17].nextItem:=SetMenuItem(prg.MenuArray[25],3,36,151,11,
  346.                MenuItemFlagSet{highComp,itemText,itemEnabled,
  347.                menuToggle,checkIt},
  348.                ADR(prg.MenuText[25]),NIL,00C);
  349.   prg.MenuArray[25].nextItem:=SetMenuItem(prg.MenuArray[26],3,48,151,11,
  350.                MenuItemFlagSet{highComp,itemText,itemEnabled,
  351.                menuToggle,checkIt},
  352.                ADR(prg.MenuText[26]),NIL,00C);
  353.   prg.MenuArray[26].nextItem:=SetMenuItem(prg.MenuArray[27],3,60,151,11,
  354.                MenuItemFlagSet{highComp,itemText,itemEnabled,
  355.                menuToggle,checkIt},
  356.                ADR(prg.MenuText[27]),NIL,00C);
  357.   prg.MenuArray[27].nextItem:=SetMenuItem(prg.MenuArray[28],3,72,151,11,
  358.                MenuItemFlagSet{highComp,itemText,itemEnabled,
  359.                menuToggle,checkIt,commSeq},
  360.                ADR(prg.MenuText[28]),NIL,"P");
  361.   prg.MenuArray[28].nextItem:=SetMenuItem(prg.MenuArray[29],3,84,151,11,
  362.                MenuItemFlagSet{highComp,itemText,itemEnabled,
  363.                menuToggle,checkIt,commSeq},
  364.                ADR(prg.MenuText[29]),NIL,"K");
  365.   prg.MenuArray[29].nextItem:=SetMenuItem(prg.MenuArray[30],3,96,151,11,
  366.                MenuItemFlagSet{highComp,itemText,itemEnabled,
  367.                menuToggle,checkIt,commSeq},
  368.                ADR(prg.MenuText[30]),NIL,"O");
  369.  
  370.   prg.menuStrip[3].firstItem:=SetMenuItem(prg.MenuArray[18],3,0,171,11,
  371.                MenuItemFlagSet{highComp,itemText,itemEnabled},
  372.                ADR(prg.MenuText[18]),NIL,00C);
  373.      prg.MenuArray[18].subItem:=SetMenuItem(prg.MenuArray[19],168,3,110,11,
  374.                   MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq},
  375.                   ADR(prg.MenuText[19]),NIL,"A");
  376.      prg.MenuArray[19].nextItem:=SetMenuItem(prg.MenuArray[20],168,14,110,11,
  377.                   MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq},
  378.                   ADR(prg.MenuText[20]),NIL,"T");
  379.   prg.MenuArray[18].nextItem:=SetMenuItem(prg.MenuArray[21],3,12,171,11,
  380.                MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq},
  381.                ADR(prg.MenuText[21]),NIL,"L");
  382.   prg.MenuArray[21].nextItem:=SetMenuItem(prg.MenuArray[22],3,24,171,11,
  383.                MenuItemFlagSet{highComp,itemText,itemEnabled,commSeq},
  384.                ADR(prg.MenuText[22]),NIL,"D");
  385. END InitMenus;
  386.  
  387. BEGIN
  388.   Assert(wbStarted = FALSE,ADR("Start from CLI"));
  389.   InitITexte; InitInfo; InitGadgets; InitMenus; InitBorderKoor; InitBorder;
  390.  
  391.   FOR i:=1 TO 21 DO
  392.     prg.GadgetArray[i-1].nextGadget:=ADR(prg.GadgetArray[i]);
  393.   END;
  394.  
  395.   SetWindow(nw,0,0,windowWidth,windowHeight,0,1,
  396.             IDCMPFlagSet{closeWindow,gadgetUp,gadgetDown,mouseButtons,rawKey,
  397.                          menuPick,refreshWindow},
  398.             WindowFlagSet{windowDrag,windowDepth,windowClose,activate,menuState,
  399.                           windowRefresh,windowActive,reportMouse},
  400.             NIL,NIL,NIL,160,50,windowWidth,
  401.                        windowHeight,ScreenFlagSet{wbenchScreen});
  402.  
  403.   prg.window:=OpenWindow(nw);
  404.     Assert(prg.window # NIL,ADR("Couldn't open Window !"));
  405.   Assert(SetMenuStrip(prg.window,prg.menuStripPtr) # FALSE,
  406.          ADR("Menu not initialised"));
  407.  
  408.   PrintTexte;
  409.  
  410.   pos:=AddGList(prg.window,ADR(prg.GadgetArray[0]),-1,25,NIL);
  411.   pos:=AddGadget(prg.window,ADR(prg.GadgetArray[22]),0);
  412.     RefreshGadgets(prg.window^.firstGadget,prg.window,NIL);
  413.  
  414.   WITH prg.FR DO
  415.     head           := NIL;
  416.     x              := 354;
  417.     y              := 0;
  418.     displayRows    := 8;
  419.     displayColumns := 28;
  420.     file           := "";
  421.     dirPath        := "";
  422.     FRWindow       := prg.window;
  423.     userWindow     := NIL;
  424.     userScreen     := NIL;
  425.     patternStr     := "#?";
  426.     FRFlags        := FileRequestFlagSet{noInfos,pattern,keyCodes,noWindow,
  427.                                          giveFileSelected,giveDirSelected};
  428.     func           := NIL;
  429.   END;
  430.  
  431.   Assert(FileRequester(ADR(prg.FR)),ADR("Error during Startup!"));
  432. END Initm2Maker;
  433.  
  434. BEGIN
  435.   prgPtr:=ADR(prg); Initm2Maker;
  436.  
  437. CLOSE
  438.   IF (prg.window # NIL) THEN
  439.      ClearMenuStrip(prg.window); CloseWindow(prg.window); prg.window:=NIL
  440.   END;
  441. END InitIntuition.
  442.  
  443.